The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Generally, a data server system is a system that performs data operations with respect to data stored in one or more repositories of data. Depending on the type of data server system, the data operations may range from simple operations, such as storing and retrieving the data, to more complex operations such as calculating statistics based on the data, and/or arranging or formatting the data. One example of a data server system is a relational database system, in which data is stored in highly structured tables, and accessed through rigid schemas. Another example of a data server system is a file system, such as a Network File System server. Yet another example of a data server system is a web application server.
Another example of a data server system is an event-based system, such as the SPLUNK Enterprise software produced and sold for on-premise and cloud use by Splunk Inc. of San Francisco, Calif. In some event-based systems, data is derived from lines or rows of unstructured time-series data. Some of the many examples of such data include web logs and machine logs. Each row (or a group of rows) is generally associated with a timestamp and a series of one or more associated data points or parameter-value pairs. Based on the timestamps, data structures known as events are derived from the associated data and include a portion of the associated data. A variety of event types may be derived from such data. For example, in the context of web logs, events may be derived for errors, specific user inputs, navigation events, and so forth. Some event-based systems feature flexible schemas that may be redefined as needed, or even at the time that a request to perform an operation is received. Such a schema indicates how to extract one or more pieces of data from the associated data included in an event.
In these and other types of data server systems, it can be difficult to optimally perform data operations, particularly as the size and/or complexity of a data repository grows. System administrators may add additional system resources to improve performance, but often these resources may not achieve the desired results, and/or the added expense and overhead for the additional system resources is undesirable.